package com.vueperson.vueperson.t1.CreationalPattern.PrototypePattern.OA;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class WeeklyLog implements Cloneable {
    /**
     * 为简化设计和实现,假设一份工作中只有一个附件对象
     * 在实际情况中可以包含多个附件，可以通过List集合对象来实现
     */

    private Attachment attachment;
    private String name;
    private String date;
    private String content;

    /**
     * 使用clone()方法实现浅拷贝
     */

    public WeeklyLog clone(){
        Object obj=null;

        try {
            obj=super.clone();
            return (WeeklyLog) obj;
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
            System.out.println("不支持复制");
            return null;
        }

    }
}
